package _99练习;

<<<<<<< HEAD
/**
 * @author ZhiCheng Qian
 * @since 2021/11/30 0:08
 */
=======

>>>>>>> 1c69d32fc055e0010098b09f71795769d9a12acd

// 3. 在2的基础上添加同步代码，确保大明和小明不会同时吃同1个包子
//    (3种方式)

public class synchronizedDemo1 implements Runnable {

	int count = 1000;

	@Override
	public void run() {
		while (count > 0) {

			// 同步代码块 ，块中的代码，只有一个线程在运行
			synchronized (this) {
				if (count > 0) {
					count--;
					System.out.println(Thread.currentThread().getName() + "吃一个包子，剩余" + count + "个");
				}
			}
			try {
				Thread.sleep(50);

			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		System.out.println(Thread.currentThread().getName() + "吃完了");
	}
}
